 /*
  * Copyright (c) 2021 Huawei Device Co., Ltd.
  * <p>
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * <p>
  * http://www.apache.org/licenses/LICENSE-2.0
  * <p>
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */

package org.angmarc.views;

import ohos.aafwk.ability.delegation.AbilityDelegatorRegistry;
import ohos.agp.utils.Color;
import ohos.app.Context;
import org.angmarch.views.NiceSpinnerAdapter;
import org.angmarch.views.PopUpTextAlignment;
import org.angmarch.views.SimpleSpinnerTextFormatter;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class NiceSpinnerAdapterTest {

    private NiceSpinnerAdapter<String> niceSpinnerAdapter;
    private List<String> list;

    @Before
    public void setUp() throws Exception {
        Context context = AbilityDelegatorRegistry.getAbilityDelegator().getAppContext();
        list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        niceSpinnerAdapter = new NiceSpinnerAdapter<>(context, list, Color.BLACK, -1, new SimpleSpinnerTextFormatter(), PopUpTextAlignment.CENTER);
    }

    @After
    public void tearDown() throws Exception {
        niceSpinnerAdapter = null;
        list.clear();
        list = null;
    }

    @Test
    public void getSelectedIndex() {
        niceSpinnerAdapter.setSelectedIndex(1);
        Assert.assertEquals(1, niceSpinnerAdapter.getSelectedIndex());
    }

    @Test
    public void getCount() {
        Assert.assertEquals(3, niceSpinnerAdapter.getCount() + 1);
    }

    @Test
    public void getItemInDataset() {
        Assert.assertEquals("three", niceSpinnerAdapter.getItemInDataset(2));
    }
}